home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / tex / inputs / ucletter.sty < prev    next >
Text File  |  1991-05-20  |  14KB  |  446 lines

  1. % from letter.sty 21 Jul 85 < Copyright (C) 1985 by Leslie Lamport >
  2. % ucletter.sty 24 Feb 86
  3. \typeout{Document Style 'ucletter' [Berkeley]. Released 15 March 1986}
  4. \typeout{Berkeley mods by Kevin Fall (kfall@renoir.berkeley.edu)}
  5.  
  6. \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
  7. \@namedef{ds@12pt}{\def\@ptsize{2}} 
  8. \@twosidefalse
  9. \def\ds@draft{\overfullrule 5pt} 
  10. \@options
  11.  
  12. \lineskip 1pt \normallineskip 1pt
  13. \def\baselinestretch{1}
  14.  
  15. \ifcase \@ptsize\relax 
  16. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt 
  17. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  18. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  19. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  20. \abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
  21. \abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt}
  22. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  23. \abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  24. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
  25. 2pt}
  26. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  27. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  28. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  29. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  30. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  31. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  32. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  33. \or 
  34. \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt
  35. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  36. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  37. minus3pt}
  38. \def\small{\@setsize\small{12pt}\xpt\@xpt
  39. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  40. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  41. \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
  42. \abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  43. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
  44. 2pt}
  45. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  46. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  47. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  48. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  49. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  50. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  51. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  52. \or 
  53. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt
  54. \abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip
  55. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  56. minus3pt}
  57. \def\small{\@setsize\small{13.6pt}\xipt\@xipt
  58. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  59. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  60. minus3pt}
  61. \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
  62. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  63. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  64. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  65. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  66. \def\large{\@setsize\large{18pt}\xivpt\@xivpt}
  67. \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt}
  68. \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
  69. \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt}
  70. \let\Huge=\huge
  71. \fi
  72. \normalsize 
  73.  
  74. %
  75. % Modification to margins to be narrower (ie. Wider text)
  76. %
  77. \oddsidemargin -.3in \evensidemargin -.3in \marginparwidth 90pt \marginparsep
  78. 11pt \marginparpush 5pt 
  79. %
  80. % Mod to headheight,topmargin, and footskip to put some more space on top
  81. %
  82.  \topmargin -10pt \headheight 12pt \headsep 25pt \footheight 12pt \footskip
  83. 15pt 
  84. \textheight 575pt \textwidth 500pt \columnsep 10pt \columnseprule 0pt 
  85. \raggedbottom 
  86. \footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt 
  87. \floatsep 12pt plus 2pt minus 2pt
  88. \textfloatsep 20pt plus 2pt minus 4pt
  89. \intextsep 12pt plus 2pt minus 2pt
  90. \dblfloatsep 12pt plus 2pt minus 2pt
  91. \dbltextfloatsep 20pt plus 2pt minus 4pt
  92. \@maxsep 20pt
  93. \@dblmaxsep 20pt
  94. \@fptop 0pt plus 1fil
  95. \@fpsep 8pt plus 2fil
  96. \@fpbot 0pt plus 1fil
  97. \@dblfptop 0pt plus 1fil
  98. \@dblfpsep 8pt plus 2fil
  99. \@dblfpbot 0pt plus 1fil
  100.  
  101.  
  102.  
  103. \newdimen\longindentation
  104. \longindentation=.5\textwidth
  105. \newdimen\indentedwidth
  106. \indentedwidth=\textwidth
  107. \advance\indentedwidth -\longindentation
  108.  
  109. \def\opening#1{\ifx\@empty\fromaddress
  110.  \thispagestyle{firstpage} 
  111.     {\raggedleft\today\par}
  112.  \else \thispagestyle{empty} 
  113.  % Next line changed for margin alignment and name inclusion
  114.  {\font\this=cmr8 at 8truept \baselineskip=8pt
  115.  {\this
  116.  \raggedright\ignorespaces 
  117.  \fromname \\
  118.  \fromaddress \\
  119.  \telephonenum \\
  120.  \hskip0pt \\
  121.  \loginname \\*[2\parskip]}
  122.  \hskip4.2truein\today\par}
  123.  \fi
  124.  %
  125.  \vspace{2\parskip}
  126. % Next line changed to allow empty address for a ``To Whom
  127. %    It May Concern Letter''
  128.  \ifx\@empty\toname
  129.  \else {\raggedright \toname \\ \toaddress \par}\vspace{2\parskip}
  130.  \fi
  131.  #1\par\nobreak}
  132. %
  133. % Add a wee bit of extra space before the closing
  134. %
  135. \long\def\closing#1{\par\nobreak\vspace{2\parskip}
  136.  \stopbreaks
  137.  \noindent
  138.  \ifx\@empty\fromaddress\else
  139.  \hspace*{\longindentation}\fi
  140.  \parbox{\indentedwidth}{\raggedright
  141.  \ignorespaces #1\\[6\medskipamount]
  142.  \ifx\@empty\fromsig 
  143.  \fromname
  144.  \else \fromsig \fi\strut}
  145.  \par}
  146.  
  147. \def\ps{\par\startbreaks}
  148. %
  149. % Added \annotations macro
  150. %
  151. \def\annotations#1{\par\noindent
  152. \parbox[1]{\textwidth}{\ignorespaces #1\strut}\par
  153. }
  154. %
  155. % Berkeley format doesn't use args. to \encl
  156. %
  157. %\def\encl#1{\par\noindent
  158. %\parbox[t]{\textwidth}{\@hangfrom{\rm encl: }\ignorespaces #1\strut}\par}
  159. \def\encl{\par\noindent{\rm Encl.}\par}
  160. %
  161. \def\cc#1{\par\noindent
  162. \parbox[t]{\textwidth}{\@hangfrom{\rm cc: }\ignorespaces #1\strut}\par}
  163. %
  164. \def\stopletter{}
  165.  
  166. \def\returnaddress{}
  167. \newcount\labelcount
  168.  
  169. \def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt
  170. \pagestyle{empty}
  171. \let\@texttop=\relax
  172. \topmargin -50pt
  173. \headsep 0pt
  174. \oddsidemargin -35pt
  175. \evensidemargin -35pt
  176. \textheight 10in
  177. \@colht\textheight \@colroom\textheight \vsize\textheight
  178. \textwidth 550pt
  179. \columnsep 25pt
  180. \xpt
  181. \baselineskip=0pt
  182. \lineskip=0pt
  183. \boxmaxdepth=0pt
  184. \twocolumn\relax}
  185. %
  186. \def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #1}}
  187.  \setbox1\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}}
  188.  \vbox to 2in{\vss \box0 \vss}
  189.  \vbox to 2in{\vss \box1 \vss}}
  190.  
  191.  
  192.  
  193. \long\def\letter#1{\newpage
  194.  \c@page\@ne
  195.  \interlinepenalty=200 \@processto{#1}}
  196. %
  197. \def\endletter{\stopletter\@@par\pagebreak\@@par
  198.  \if@filesw 
  199.  \begingroup 
  200.  \def\protect{\string}
  201.  \let\\=\relax
  202.  \def\protect##1{\string##1\space}
  203.  \immediate\write\@auxout{\string\mlabel{\fromname\\ \fromaddress}{\toname
  204.  \\\toaddress}}
  205.  \endgroup 
  206.  \fi}
  207. %
  208. \long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty 
  209.  \else \@yproc #1@@@\fi}
  210. \long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
  211. \long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
  212. %
  213. \def\stopbreaks{\interlinepenalty \@M
  214.  \def\par{\@@par\nobreak}\let\\=\@nobreakcr
  215.  \let\vspace\@nobreakvspace}
  216. \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
  217. \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
  218.  \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
  219. \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
  220. \def\startbreaks{\let\\=\@normalcr
  221.  \interlinepenalty 200\def\par{\@@par\penalty 200}}
  222. %
  223. %
  224. \def\name#1{\def\fromname{#1}}
  225. %
  226. % Include login for Berkeley letter return address
  227. %
  228. \def\login#1{\def\loginname{#1}}
  229. %
  230. %
  231. \def\signature#1{\def\fromsig{#1}}
  232. \def\fromsig{}
  233. %
  234. \long\def\address#1{\def\fromaddress{#1}}
  235. %
  236. \def\fromaddress{}
  237. %
  238. %    Location -- not used in Berkeley letter format
  239. \def\location#1{\def\fromlocation{#1}}
  240. \def\fromlocation{}
  241. %
  242. %    Telephone #
  243. \def\telephone#1{\def\telephonenum{#1}}
  244. %
  245. %
  246. \def\document{\endgroup
  247.  \@colht\textheight \@colroom\textheight \vsize\textheight
  248.  \columnwidth\textwidth \@clubpenalty\clubpenalty
  249.  \if@twocolumn \advance\columnwidth -\columnsep 
  250.  \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue 
  251.  \fi
  252.  \hsize\columnwidth \linewidth\hsize
  253.  \begingroup\@floatplacement\@dblfloatplacement\endgroup
  254.  \if@filesw \immediate\openout\@mainaux=\jobname.aux
  255.  \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi
  256.  \def\do##1{\let ##1\@notprerr}
  257.  \@preamblecmds
  258.  \let\do\noexpand 
  259.  \@normalsize\everypar{}}
  260. %
  261. \def\enddocument{\@checkend{document}\newpage\begingroup 
  262. \if@filesw \immediate\closeout\@mainaux 
  263. \makeatletter\input \jobname.aux\clearpage
  264. \fi\endgroup\deadcycles\z@\@@end}
  265.  
  266. \def\makelabels{\@fileswtrue}
  267. \def\@startlabels{}
  268.  
  269.  
  270.  
  271. %
  272. % Defn's for the UC letterhead
  273. %
  274. %    Our font choices
  275. %
  276. \font\uc=uc at 54truept
  277. \font\five=cmr5 at 5truept
  278. \font\six=cmr6 at 6truept
  279. \font\smallheadfont=cmr8 at 8truept
  280. %
  281. \def\univletterhead{
  282. \font\reg=cmr10 at 10truept
  283. \font\topfont=cmr10 at 12truept
  284.  \par\noindent
  285.  \vskip -1.6truein
  286.  \hbox{\topfont UNIVERSITY OF CALIFORNIA, BERKELEY}
  287.  \vskip 10truept
  288.  \five
  289.  \baselineskip 7truept
  290.  %
  291.  \setbox11=\hbox{\uc C}
  292.  %
  293.  \setbox10=\hbox{\vbox{\hrule width 4.5 truein height 0.2truept
  294.   \vskip 6truept
  295.   \hbox to 4.5truein {BERKELEY \kern-1truept\lower1truept\hbox{$\cdot$}
  296.     DAVIS \kern-1truept\lower1truept\hbox{$\cdot$}
  297.     IRVINE \kern-1truept\lower1truept\hbox{$\cdot$}
  298.     LOS ANGELES \kern-1truept\lower1truept\hbox{$\cdot$}
  299.     RIVERSIDE \kern-1truept\lower1truept\hbox{$\cdot$}
  300.     SAN DIEGO \kern-1truept\lower1truept\hbox{$\cdot$}
  301.     SAN FRANCISCO\hfil}
  302.   \vskip 6truept
  303.   \hrule height0.2truept
  304.  }}
  305.  %
  306.  \setbox12=\hbox{\vbox{\hrule width 1.75truein height0.2truept
  307.   \vskip 6truept
  308.   \hbox{\hskip 8truept SANTA BARBARA \kern-1truept\lower1truept\hbox{$\cdot$} SANTA CRUZ}
  309.   \vskip 6truept
  310.   \hrule width 1.75truein height0.2truept
  311.  }}
  312.  %
  313.  \par\noindent
  314.  \hfuzz30pt
  315.  \hbox{\box10\kern3truept\box11\kern4truept\box12}
  316.  \par\noindent
  317.  \vskip 4truept
  318.  \hbox{{\six Please Reply To:\hskip 3.35truein BERKELEY, CALIFORNIA 94720}}
  319.  \par\noindent
  320.  } 
  321. \vfuzz50pt
  322. %
  323. % End of letterhead defn's
  324. %
  325. % The following line mod'd for inclusion of letterhead
  326. \def\@texttop{\ifnum\c@page=1\vskip 50pt \univletterhead \relax\fi}
  327. %
  328. % Page Styles
  329. %
  330. \def\ps@headings{\def\@oddhead{\sl To \ignorespaces\toname \hfil \today
  331.  \hfil Page \thepage}\def\@oddfoot{}}
  332.  %
  333. \def\ps@empty{\def\@oddhead{}\def\@oddfoot{}\def\@evenhead{}\def\@evenfoot{}}
  334.  
  335. \def\ps@firstpage{\def\@oddhead{}\def\@oddfoot{\raisebox
  336.  {-45pt}[0pt]{\hbox to \textwidth
  337.  {\hspace*{100pt}\xpt\fromlocation \hfill
  338. \telephonenum}}\hss}\def\@evenhead{}\def\@evenfoot{}}
  339. %
  340. \def\ps@plain{\def\@oddhead{}\def\@oddfoot{\rm\hfil\thepage
  341.  \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot}
  342.  
  343. \parskip .7em \parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em 
  344. \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
  345. \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
  346. -\@lowpenalty 
  347.  
  348.  
  349.  
  350. \leftmargini 2.5em
  351. \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em
  352. \leftmarginvi 1em
  353. \leftmargin\leftmargini
  354. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  355. \labelsep 5pt
  356. \parsep 0pt
  357. \let\@listi\relax
  358. \def\@listii{\leftmargin\leftmarginii
  359.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep}
  360. \def\@listiii{\leftmargin\leftmarginiii
  361.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  362.  \topsep .2em 
  363.  \itemsep \topsep}
  364. \def\@listiv{\leftmargin\leftmarginiv
  365.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  366. \def\@listv{\leftmargin\leftmarginv
  367.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  368. \def\@listvi{\leftmargin\leftmarginvi
  369.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  370.  
  371. \def\labelenumi{\arabic{enumi}.} 
  372. \def\theenumi{\arabic{enumi}} 
  373. \def\labelenumii{(\alph{enumii})}
  374. \def\theenumii{\alph{enumii}}
  375. \def\p@enumii{\theenumi}
  376. \def\labelenumiii{\roman{enumiii}.}
  377. \def\theenumiii{\roman{enumiii}}
  378. \def\p@enumiii{\theenumi(\theenumii)}
  379. \def\labelenumiv{\Alph{enumiv}.}
  380. \def\theenumiv{\Alph{enumiv}} 
  381. \def\p@enumiv{\p@enumiii\theenumiii}
  382.  
  383. \def\labelitemi{$\bullet$}
  384. \def\labelitemii{\bf --}
  385. \def\labelitemiii{$\ast$}
  386. \def\labelitemiv{$\cdot$}
  387. \def\verse{\let\\=\@centercr 
  388.  \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent 
  389.  \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]}
  390. \let\endverse\endlist
  391. \def\quotation{\list{}{\listparindent 1.5em
  392.  \itemindent\listparindent
  393.  \rightmargin\leftmargin}\item[]}
  394. \let\endquotation=\endlist
  395. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  396. \let\endquote=\endlist
  397.  
  398. \def\descriptionlabel#1{\hfil \it #1}
  399. \def\description{\list{}{\leftmargin\descriptionmargin
  400.  \labelwidth\leftmargin \advance\labelwidth -\labelsep 
  401.  \let\makelabel\descriptionlabel}}
  402. \let\enddescription\endlist
  403. \newdimen\descriptionmargin
  404. \descriptionmargin=3em
  405.  
  406.  
  407. \def\theequation{\arabic{equation}}
  408.  
  409. \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
  410. \tabbingsep \labelsep 
  411. \skip\@mpfootins = \skip\footins
  412. \fboxsep = 3pt \fboxrule = .4pt 
  413.  
  414. \def\footnoterule{\kern-1\p@ 
  415.  \hrule width .4\columnwidth 
  416.  \kern .6\p@} 
  417.  
  418. \long\def\@makefntext#1{\noindent \hangindent 5pt\hbox 
  419.  to 5pt{\hss $^{\@thefnmark}$}#1}
  420.  
  421.  
  422. \c@topnumber=2
  423. \def\topfraction{.7}
  424. \c@bottomnumber=1
  425. \def\bottomfraction{.3}
  426. \c@totalnumber=3
  427. \def\textfraction{.2}
  428. \def\floatpagefraction{.5}
  429. \c@dbltopnumber= 2
  430. \def\dbltopfraction{.7}
  431. \def\dblfloatpagefraction{.5}
  432.  
  433. \def\today{\ifcase\month\or
  434.  January\or February\or March\or April\or May\or June\or
  435.  July\or August\or September\or October\or November\or December\fi
  436.  \space\number\day, \number\year}
  437.  
  438.  
  439. \smallskipamount=.5\parskip \medskipamount=\parskip
  440. \bigskipamount=2\parskip
  441. %
  442. % Change from ps@plain to ps@headings to produce running headers
  443. %
  444. \ps@headings \pagenumbering{arabic} \onecolumn \@fileswfalse 
  445.  
  446.